package com.wyzz.hr.pojo.base;

import java.io.Serializable;
import java.util.Date;

import com.wyzz.hr.pojo.Department;
import com.wyzz.hr.pojo.Employee;
import com.wyzz.hr.pojo.Empquit;
import com.wyzz.hr.pojo.PositionBase;

public abstract class BaseEmpquit implements Serializable {

	public BaseEmpquit() {
		hashCode = 0x80000000;
		eqType = "0";
		initialize();
	}

	public BaseEmpquit(String eqId) {
		hashCode = 0x80000000;
		eqType = "0";
		setEqId(eqId);
		initialize();
	}

	protected void initialize() {
	}

	public String getEqId() {
		return eqId;
	}

	public void setEqId(String eqId) {
		this.eqId = eqId;
		hashCode = 0x80000000;
	}

	public String getEqType() {
		return eqType;
	}

	public void setEqType(String eqType) {
		this.eqType = eqType;
	}

	public Date getEqDate() {
		return eqDate;
	}

	public void setEqDate(Date eqDate) {
		this.eqDate = eqDate;
	}

	public Employee getEqPermission() {
		return eqPermission;
	}

	public void setEqPermission(Employee eqPermission) {
		this.eqPermission = eqPermission;
	}

	public String getEqReason() {
		return eqReason;
	}

	public void setEqReason(String eqReason) {
		this.eqReason = eqReason;
	}

	public String getErComments() {
		return erComments;
	}

	public void setErComments(String erComments) {
		this.erComments = erComments;
	}

	public String getEqCreateBy() {
		return eqCreateBy;
	}

	public void setEqCreateBy(String eqCreateBy) {
		this.eqCreateBy = eqCreateBy;
	}

	public Date getEqCreateDate() {
		return eqCreateDate;
	}

	public void setEqCreateDate(Date eqCreateDate) {
		this.eqCreateDate = eqCreateDate;
	}

	public Date getEqLastChangeTime() {
		return eqLastChangeTime;
	}

	public void setEqLastChangeTime(Date eqLastChangeTime) {
		this.eqLastChangeTime = eqLastChangeTime;
	}

	public String getEqLastChangeBy() {
		return eqLastChangeBy;
	}

	public void setEqLastChangeBy(String eqLastChangeBy) {
		this.eqLastChangeBy = eqLastChangeBy;
	}

	public Employee getEmployee() {
		return employee;
	}

	public void setEmployee(Employee employee) {
		this.employee = employee;
	}

	public boolean equals(Object obj) {
		if (null == obj)
			return false;
		if (!(obj instanceof Empquit))
			return false;
		Empquit empquit = (Empquit) obj;
		if (null == getEqId() || null == empquit.getEqId())
			return false;
		else
			return getEqId().equals(empquit.getEqId());
	}

	public int hashCode() {
		if (0x80000000 == hashCode) {
			if (null == getEqId())
				return super.hashCode();
			String hashStr = (new StringBuilder()).append(getClass().getName())
					.append(":").append(getEqId().hashCode()).toString();
			hashCode = hashStr.hashCode();
		}
		return hashCode;
	}

	public String toString() {
		return super.toString();
	}

	public Department getEqDeptNo() {
		return eqDeptNo;
	}

	public void setEqDeptNo(Department eqDeptNo) {
		this.eqDeptNo = eqDeptNo;
	}

	public PositionBase getEqPbNo() {
		return eqPbNo;
	}

	public void setEqPbNo(PositionBase eqPbNo) {
		this.eqPbNo = eqPbNo;
	}

	public static String REF = "Empquit";
	public static String PROP_EQ_CREATE_DATE = "eqCreateDate";
	public static String PROP_EQ_TYPE = "eqType";
	public static String PROP_EMPLOYEE = "employee";
	public static String PROP_ER_COMMENTS = "erComments";
	public static String PROP_EQ_PERMISSION = "eqPermission";
	public static String PROP_EQ_ID = "eqId";
	public static String PROP_EQ_LAST_CHANGE_TIME = "eqLastChangeTime";
	public static String PROP_EQ_REASON = "eqReason";
	public static String PROP_EQ_DATE = "eqDate";
	public static String PROP_EQ_CREATE_BY = "eqCreateBy";
	public static String PROP_EQ_LAST_CHANGE_BY = "eqLastChangeBy";
	public static String PROP_EQ_DEPT_NO = "eqDeptNo";
	public static String PROP_EQ_PB_NO = "eqPbNo";
	private int hashCode;
	private String eqId;
	private String eqType;
	private Date eqDate;
	private String eqReason;
	private String erComments;
	private String eqCreateBy;
	private Date eqCreateDate;
	private Date eqLastChangeTime;
	private String eqLastChangeBy;
	private Employee employee;
	private Employee eqPermission;
	private Department eqDeptNo;
	private PositionBase eqPbNo;

}
